package com.utils;

public class TimeFormat {
	//00000000000000  无
	//00000000000001 8:00-8:59
	//00000000000010 9:00-10:00
	//00000000000100 10:00-11:00
	//00000000001000 11:00-12:00
	//00000000010000 12:00-13:00
	//00000000100000 13:00-14:00
	//00000001000000 14:00-15:00
	//00000010000000 15:00-16:00
	//00000100000000 16:00-17:00
	//00001000000000 17:00-18:00
	//00010000000000 18:00-19:00
	//00100000000000 19:00-20:00
	//01000000000000 20:00-21:00
	//10000000000000 21:00-22:00
	//假设useTime=3072，则useTimeStr=00110000000000，需要从右向左计算1的起止位置，那么应输出18:00-19:59
	public static String toString(int useTime) {
		if(useTime==0) {
			return "无";
		}
		int i;
		Integer indexBegin=null; //记录1的起始位置
		System.out.println(useTime);
		String useTimeStr=Integer.toString(useTime,2);
		int length=useTimeStr.length();//useTimeStr字符串的长度，也是1的结束位置
		//System.out.println(useTimeStr.charAt(0));
		//System.out.println(useTimeStr.charAt(length-1));
		for(i=0;i<length;i++) {// 从左向右寻找最后一个1，即为1的起始位置
			if(useTimeStr.charAt(i)=='0') {
				indexBegin=length-i;
				break;
			}
		}
		if(i==length) {
			indexBegin=0;
		}
		String result="无";
		if(indexBegin!=null) {
			result=(indexBegin+8)+":00-"+(length-1+8)+":59";
		}
		System.out.println(result);
		return result;
	}
	
	public static Boolean isSelected(Integer useTime,Integer flag) {
		if(useTime!=null) {
			return ((useTime&flag)!=0)?true:false;
		}
		return false;
	}
	
	public static void main(String[] args) {
		int testData=12;
		toString(testData);
		System.out.println(isSelected(12,4));
	}
}
